/*
* @Author: vbyzc
* @Last Modified time: 2019-01-31 16:56:23
*/
/*//////////////////////////////// 初始化和通用配置 ////////////////////////////////////////*/
// const $       = layui.jquery;
// const jQuery  = layui.jquery;
const upload  = layui.upload;
const layer   = layui.layer
const form    = layui.form;
const laydate = layui.laydate;

const CONF_LAYER_LOAD = {offset: ['48%', "48%"],shade: [0.8,'#fff']}  //加载层的配置..


/*//////////////////////////////// 其它不重要的东西 ////////////////////////////////////////*/
$('.layui-breadcrumb').append('<span lay-separator="">/</span><a><cite style="font-family:verdana;font-weight:bold;">当前路径：'+window.location.href.replace(/http.*\//i,'')+'</cite></a>')


/*//////////////////////////////// 封装一些工具或方法 ////////////////////////////////////////*/
class vo {
	constructor(){ }
	// 获取 url 中的参数
	getQueryString (name){
		var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
		var r = window.location.search.substr(1).match(reg);
		if(r!=null)return  unescape(r[2]); return null;
	}
	query (name){
		return this.getQueryString(name)
	}
	//通用的弹层打开目标地址方法,通常使用场景会有一个数据表格，所以尝试重载表格
	openUrlLayer(options){
		var defaults = {
			type      : 2,
			reload    : false,
			title     : "默认标题",
			shadeClose: true,
			maxmin    : true,
			area      : ['1200px', '90vh'],
			content   : 'main.html',
			end:function(){
				console.log('关闭了窗口，可以在调用时带入这个事件回调来做某些处理')
			}
		}
		var opt = Object.assign({},defaults,options);
		layer.open(opt);
	}
	//一个通用请求
	ajax ({$=jQuery,type='GET',url,data,cb} = {}){
		layer.load(1, {...CONF_LAYER_LOAD,time:3000});
		$.ajax({
			url     : url,
			type    : type,
			dataType: 'json',
			data    : data
		})
		.done((res)=>{
			layer.closeAll()
			if(res.code == 0){
				cb.call(null,res)
			}else{
				//如果服务器返回错误统一出现提示
				layer.msg(res.msg,{icon:2,time:1000});
			}
		})
		.fail(function() { console.log("error"); })
		.always(function () { })
	}
	// 用于填充表单内容
	writeToFormEl (formkey,cb){
		// setTimeout(function(){},1000)
		Object.keys(formkey).forEach((key)=>{
			$(`#${key}`).val(formkey[key])
		})
		
	}
}
var vtool = new vo;


/*////////////////////////////////////////////// 独立调用的方法 /////////////////////////////////////////////////////*/
/*////////////////////////////////////////////// 独立调用的方法 /////////////////////////////////////////////////////*/
/*////////////////////////////////////////////// 独立调用的方法 /////////////////////////////////////////////////////*/

//上传错误处理封装
;function reUploadImg(){
	var demoText = $('#demoText');
	demoText.html('<span style="color: #FF5722;">发生错误</span> <a class="layui-btn layui-btn-xs JS-imgReUpload">重试</a>');
	demoText.find('.JS-imgReUpload').on('click', function() {
		uploadInst.upload();
	});
}

//通用队列
const pm = (fn) =>{
	return new Promise((resolve,rejext)=>{
		fn.call(this,resolve)
	})
}
//用于数据表格中，异步请求数据之后，列表中的图片绑定相册插件
;function lightbox(){
	try {
		$("a[rel^='lightbox']").picbox({}, null, function(el) {
			return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
		});
	} catch (error) {
		console.error('vbyzc:没有找到picbox插件')
	}
	
}

//用于编辑修改后，提交时的统一回调处理
;function editCallback(res){
	layer.msg(res.msg+',等待自动刷新...',{icon:1,time:200000},function(){
		window.location.reload();
	})
}